from setuptools.config.setupcfg import Target


# 1.定义一个函数my_func(),函数执行结果为输出10行”hello world”
def my_func():
    for a in range(10):
        print("hello world")
# my_func()
# 3.定义一个函数my_sub(a, b), a和b为整数, 调用函数, 函数的返回值为a - b的差
def my_sub(a, b):
    print(int(a-b))
# my_sub(2,3)
# 4.定义一个函数my_num(a)，有一个参数，判断参数为奇数还是偶数,奇数函数返回False,偶数函数返回True
def my_num(a):
    if a%2==0:
        return True
    else:
        return False
# print(my_num(22))
# 6.定义一个函数my_sum1, 有四个参数（a, b, c, d） 函数返回值为四个参数相加的和
def my_sum1(a, b, c, d):
    sum=a+b+c+d
    print(sum)
# my_sum1(2,1,2,5)
# 7、现有整数列表包含如下元素：[ 11 , 22 , 33 , 22 , 11 ]，
# 获取一个键盘录入的整数num，判断num在数组中最后出现的角标位置并在
# 控制台打印输出，如元素在数组中不存在，也输出对应提示信息
# 定义整数列表
# numbers = [11, 22, 33, 22, 11,2,3,3]
# num = int(input("请输入一个整数: "))
# def find(lst,number):
#     for a in range(len(numbers)-1, -1, -1):
#         if num ==numbers[a] :
#             print(f"元素 {num} 最后出现的角标位置是: {a}")
#             return
#     print(f"元素 {num} 不在列表中")
# find(numbers,num)

# 8、获取班级成绩中大于80分的人数和具体分数 已知：班级所有学生分数:[59,88,99,89,96,85,100,66]
#
# def sorce():
#     sorces = [59, 88, 99, 89, 96, 85, 100, 66]
#     count1 = 0
#     high_sorces=[]
#     for index in range(len(sorces)):
#         if sorces[index]>80:
#             count1+=1
#             high_sorces.append(sorces[index])
#     return count1,high_sorces
# print(sorce())


# def fe_count(lst):#filter 过滤器
#     count=0
#     for a in lst:
#         if a>80:
#             print(a,end=" ")
#             count+=1
#     print(count)
# fe_count([59,88,99,89,96,85,100,66])





# 9、给你一个列表 nums 和一个值 val，你需要原地移除所有数值等于 val 的元素，
# 并返回移除后列表的新长度，例如：给定 nums = [0,1,2,2,3,0,4,2], val = 2,函数应该返回新的长度 5,
# 并且 nums 中的前五个元素为 0, 1, 3, 0, 4。

nums = [0, 1, 2, 2, 3, 0, 4, 2]
def yc(val):
    for a in range(len(nums)-1, -1, -1):
        if nums[a] == val:
             nums.remove(val)
    return len(nums)
# yc(2)
# print("新长度:", len(nums))
# print("移除后元素:", nums)




# 10.给定一个按非递减顺序排序的整数列表 A，返回每个数字的平方组成的新列表，要求也按非递减顺序排序
# 例如： 输入:[-4,-1,0,3,10] 输出结果：[0,1,9,16,100]
num1=[-4,-1,0,3,10]
num2=[]
def pf(lst):
    # lst1=[x**2,x in lst]   列表推导式  试一下集合，字典
    # lst1.sort()
    for a in num1:
        a*=a
        num2.append(a)
        num2.sort()
    print(num2)
# pf()



# 给定一个字符串s，你需要找到它第一个不重复的字符，并返回这个字符的索引。如果字符不存在，则返回-1。
# 备注
# 1<= s.length <= 10的5次方
# ·s只包含小写字母

# def F_str(s):
#     for index in range(len(s)):
#         if s.count(s[index]) == 1:
#             return index
#     return -1
# s = "aabbccd"
# print(F_str(s))


# 给定一个升序排列的整型数组nums和一个整型目标值target，请你设计一个
# 算法，在数组nums中查找目标值target。
# 如果目标值存在，则返回其下标；否则返回-1。
# 备注
# 你可以假设nums中的所有元素是不重复的。
# n将在[1,10000]之间。
# nums的每个元素都将在[-9999,9999]之间
# def find(nums, target):
    # 1111
    # for i in range(len(nums)):
    #     if nums[i] == target:
    #         return i
    # return -1
# print(find([1,2,32,12,1],32))
    # 2222222
# def find(nums, target):
#     if target in nums:
#         return nums.index(target)
#     else:
#         return -1
# print(find([1,2,32,12,1],32))
    # 33333333
# def find(nums, target):
#     s="".join(str(num) for num in nums)
#     target_str=str(target)
#     if target_str in s:
#         return  s.find(target_str)
#     else:
#      return  -1
# print(find([1,2,32,12,1],32))



# 题目：给定一个字符串，按特定格式输出字符串的字符和对应的在字符串中出现的次数
# 范例1:
# 输入aaaaaffd
# 输出a5f2d1
# 范例2:
# 输入aaabbbbbbsab
# 输出a4b7s1

def str_count(s):
    dict = {}
    for a in s:
        if a in dict:
            dict[a] += 1
        else:
            dict[a] = 1
    result = ""
    for a, count in dict.items():
    # result = a + str(count)+result
        result+=f"{a}{count}"
    return result
# print(str_count("aaaaaffd"))












